#!/usr/bin/env perl -w
# Time-stamp: <20 Aug 01 15:26:54 giron1> 

=head1 NAME

sample.perl - sample of perl header with many pod commands -

=head1 SYNOPSIS

 sample.perl

 This text is put at it is written in the source code.
 (verbatim paragraph)
 You have to indent the code with at least one space.

=head1 DESCRIPTION

This short program gives a sample of the use of pod commands in your
source code. This is given here for a perl program, but can be exactly
reproduced for any kind of source code as long as you can put this
text exactly as it is written here in it. In C you can start with the
standard /* and then write the all thing and close your comments with
*/. It is very important that you let a totally blank line between each
command or they will not be interpreted.

=head2 HEAD2

This paragraph will be justified depending on the translator. In this
sample I have given header titles which corresponds to manual
pages. But you can had your own if you want it. I have written this
paragraph starting with the command C<=head2 HEAD2> which makes a
second level of header. You have only 2 levels at disposition.

=head2 CONVERSION

You can view the documentation of this program in a different format:

=over

=item Manual Pages like

Simply type: C< perldoc sample.perl> or C< perl2man sample.perl | nroff -man>

=item HTML Pages

Simply type: C< pod2html -htmlroot=. --podpath=../packs/html sample.perl>
will print the corresponding html page to the standard output. You can
then read it with your preferred browser. The podpath options
describes where to search for the links.

=item Formatted text

Simply type: C< pod2text sample.perl>

=back

=head1 BUGS

Here should be put a list of bugs or not yet implemented or stable
features of your program. I have not implemented all pod commands
here. If you want the complete stuff simply look at the perl
documentation with C<perldoc perlpod> They are also other conversion
to B<latex> and B<frame maker> format, but I didn\'t test them exhaustively.

=head1 SEE ALSO

In a see also paragraph you can put some references to other sections
and use the link sequence starting at the begining of a line with a
capital L and written in <>. For example, the sequence C<L>C<E<lt>OPTIONS_HTML/OPTIONSE<gt>>
creates automatically the following entry and link: L<OPTIONS_HTML/OPTIONS>.

=head1 USAGE

They are many other interior sequences in the form I<letter> E<lt>
... E<gt> where letter is:

=over

=item B bold

B<This text should be in bold characters>

=item C code

C<This should describes literal code:
  all what you write is put in a courier font (html)>

=item F filename

This commands make a reference to a particular file: F<filename>

=item I italic

I<This text should be in italic>

=item X index

X<this is an indexed entry>

=back


=head1 AUTHOR

 $Id: sample.perl,v 1.1 2007/10/08 09:26:05 schweitz Exp $
 Franck Giron

=head1 LOG

 In this paragraph, the log of you different cvs version can be
 included automatically by putting the entry C<$Log: sample.perl,v $
 included automatically by putting the entry C<Revision 1.1  2007/10/08 09:26:05  schweitz
 included automatically by putting the entry C<version 2.4, lib vergessen
 included automatically by putting the entry C<
 included automatically by putting the entry C<Revision /main/3  22-Jan-2003.10:04:07  giron1
 included automatically by putting the entry C<Changing header to /usr/bin/env perl.
 included automatically by putting the entry C<
 included automatically by putting the entry C<Revision 1.1  2000/03/01 17:26:51  giron1
 included automatically by putting the entry C<Creation of HTML
 included automatically by putting the entry C<>.

 $Log: sample.perl,v $
 Revision 1.1  2007/10/08 09:26:05  schweitz
 version 2.4, lib vergessen

 Revision /main/3  22-Jan-2003.10:04:07  giron1
 Changing header to /usr/bin/env perl.
  included automatically by putting the entry C<
 Revision 1.1  2000/03/01 17:26:51  giron1
 Creation of HTML


=cut

# After a cut command you can start your code or start another section

=head1 Packages 

The packages strict and OPTIONS are used.

=cut

use strict;
use OPTIONS;

#----------------------------------------------------------------------
# MAIN
#----------------------------------------------------------------------

# Define the set of options

my $OptList = new OPTIONS;

$OptList->help('Do' => 0, 'Usage' => 'help mode');
$OptList->opt2('Do' => 0, 'Usage' => 'option 2');
$OptList->opt3('Do' => 0, 'Usage' => 'option 3');

# Command processing

$OptList->GetOpt || die "Check your options\n";

# Check the arguments

my $numargs = @ARGV;
my $usage = ($numargs < 1);

if ($usage) {
  $OptList->Usage("print your single input string","this is the corresponding extended help");
}

show(\@ARGV);


# You can start again to add more documentation

=head1 FUNCTIONS

This is an example of pod documentation included in your source code
for the documentations of some parts. For example here a part
including diverse functions.

=head2 show

This small function shows your argument on standard output

=cut

sub show {
  my $arg_ref = shift;

  print "A small sample of pod commands:\n";
  print "@$arg_ref\n";
}



